// 收藏
const router = require('express').Router();
const collectModel = require('../../models/collectModel');
const Jwt = require('../../common/jwt');//处理token的工具 json web token

// 收藏领养宠物
// URL: /api/collect/add
// 参数：token , pet_name, pet_id,classify_text,pet_src,pet_age
// 请求方式：post
router.post('/add', async (req, res) => {
    // 获取token
    let token = req.body.token || req.headers.token;
    // 验证token
    let result = new Jwt(token).verifyToken();
    // 登录状态
    if (result.code == 200) {
        // 获取前端的参数
        let { pet_name, pet_id, classify_text, pet_src, pet_age } = req.body;
        // 从登录临时身份获取from_user_id
        let user_id = result.info.data;
        // 判断参数是否有值
        if (pet_name && pet_id && pet_src) {
            let date = new Date();
            let collect_create_time = date.toLocaleDateString() + " " + (date.toLocaleTimeString());

            // 添加收藏
            await collectModel.add(pet_name, pet_id, collect_create_time, user_id, classify_text, pet_src, pet_age)
                .then(
                    (content) => {
                        res.send(content)
                    },
                    (error) => {
                        res.send(error)
                    }
                )
        }
        else {
            res.send({
                code: 404,
                msg: '缺少参数。'
            })
        }
    }
    else {
        res.send({
            code: -1,
            msg: '登录失效,请重新登录。'
        })
    }
})

// 删除收藏领养宠物
// URL: /api/collect/remove
// 参数: id , token  
// 请求方式：post
router.post('/remove', async (req, res) => {
    // 获取token
    let token = req.body.token || req.headers.token;
    // 验证token
    let result = new Jwt(token).verifyToken();
    // 登录状态
    if (result.code == 200) {
        let { pet_id } = req.body;
        let user_id = result.info.data;
        if (pet_id) {
            await collectModel.remove(pet_id, user_id)//删除收藏指定的记录
                .then(
                    (content) => { res.send(content) },
                    (error) => { res.send(error) }
                )
        }
        else {
            res.send({
                code: 404,
                msg: '缺少参数。'
            })
        }
    }
    else {
        res.send({
            code: -1,
            msg: '登录失效,请重新登录。'
        })
    }
})

// 获取收藏列表
// URL: /api/collect/list
// 请求方式：get
router.get('/list', async (req, res) => {
    // 获取token
    // let token = req.query.token || req.headers.token;
    let user_id = req.query.user_id;
    // 验证token
    //  let result = new Jwt(token).verifyToken();
    // if(result.code == 200){
    // let user_id = result.info.data;


    await collectModel.list(user_id)// 获取收藏领养宠物列表
        .then(
            (content) => { res.send(content) },
            (error) => { res.send(error) }
        )
    // }
    // else {
    //     res.send({
    //         code: -1,
    //         msg: '您还没有登录。'
    //     })
    // }

})

// 统计所有收藏数量
// URL:  /api/collect/total
// 请求方式：get
router.get('/total', async (req, res) => {
    // 获取收藏信息
    await collectModel.total().then(
        (content) => {
            // 响应数据给前端
            res.send(content)
        },
        (err) => {
            res.send(err)
        }
    )
})

// 判断是否收藏
// URL:  /api/collect/is_collect
// 请求方式：post
// 参数：token, pet_id
router.post('/is_collect', async (req, res) => {
    // 获取token
    let token = req.body.token || req.headers.token;
    // 验证token
    let result = new Jwt(token).verifyToken();
    // 登录状态
    if (result.code == 200) {
        let { pet_id } = req.body;
        let user_id = result.info.data;
        if (pet_id) {
            // 获取收藏信息
            await collectModel.is_collect(pet_id, user_id).then(
                (content) => {
                    // 响应数据给前端
                    res.send(content)
                },
                (err) => {
                    res.send(err)
                }
            )
        }
        else {
            res.send({
                code: 404,
                msg: '缺少参数。'
            })
        }
    }
    else {
        res.send({
            code: -1,
            msg: '登录失效,请重新登录。'
        })
    }



})


module.exports = router;